#include <iostream>
#include <fstream>
#include <string>
#include <vector>

#include "data_store.h"
#include "double_item.h"
#include "section_item.h"

using namespace std;

Item::Item(string name)
{
  _name = name;
  _count = 0;
}

Item::~Item()
{
}

double Item::get_double(int n)
{
  cout << "ERROR: Item get_double" << endl;
  return 0.0;
}

void Item::add_double(double value)
{
  cout << "ERROR: Item add_double" << endl;
}

int Item::get_integer(int n)
{
  cout << "ERROR: Item get_int" << endl;
  return 0;
}

void Item::add_integer(int value)
{
  cout << "ERROR: Item add_int" << endl;
}

string Item::get_string(int n)
{
  cout << "ERROR: Item get_string" << endl;
  return 0;
}

void Item::add_string(string value)
{
  cout << "ERROR: Item add_string" << endl;
}

void Item::add_item(Item *item)
{
  cout << "ERROR: Item add_item" << endl;
}

void Item::delete_item(string name)
{
  cout << "ERROR: Item delete_item" << endl;
}

Item *Item::get_item(string name)
{
  cout << "ERROR: Item get_item" << endl;
  return NULL;
}

Item *Item::get_item_deep(string name)
{
  cout << "ERROR: Item get_item" << endl;
  return NULL;
}

void Item::set_name(string name)
{
  _name = name;
}

string Item::get_name(void)
{
  return _name;
}

void Item::save(ostream &os, string indent)
{
  cout << "ERROR: Item save" << endl;
}

int Item::get_count(void)
{
  return _count;
}

void Item::add(int value)
{
  add_integer(value);
}

void Item::add(double value)
{
  add_double(value);
}

void Item::add(string value)
{
  add_string(value);
}

